Goto

Collaborating Authors

 programming languages/compilers



An Experiment in Knowledge-based Automatic Programming

AI Classics

Human programmers seem to know a lot about programming. This suggests a way to try to build here was designed to shed some light on questions like these.


Knowledge-based programming self-applied C. Green* and S. J. Westfold*t

AI Classics

A knowledge-based programming system can utilize a very-high-level self description to rewrite and improve itself. This paper presents a specification, in the very-high-level language V, of the rule compiler component of the CIII knowledgebased programming system. From this specification of part of itself, CIII produces an efficient program satisfying the specification. This represents a modest application of a machine intelligence system to a real programming problem, namely improving one of the programming environment's tools -- the rule compiler. The high-level description and the use of a programming knowledge base provide potential for system performance to improve with added knowledge.


24 Abset, a Programming Language Based on Sets: Motivation and Examples E. W. Elcock, J. M. Foster, P. M. D. Gray, J. J. McGregor and A. M. Murray

AI Classics

The overall design aim of ABSET was to devise an interactive programming language in which it is possible, at will, to take or defer decisions about a program: we therefore require that decisions which are logically separable can indeed be taken separately and in aiiy order. Further, we think it important that the language should allow the nature of each decision to be clear, particularly choice of representations.


OMEN User's Manual

AI Classics

OMEN is an object-oriented programming system designed for use in a FRANI LISP or other similar programming environment. OMEN stands for OHiccr MANIPULATION ENVIRONNIFN r, and consists of a set of functions to be loaded on top of a!ASP system running MRS. The user can the use the functions provided by OMEN to create classes of objects, instances of those classes, and functions that operate on those objects, and to send messages to those objects. OMEN is similar in design and operation to the flavors system of Lisp Machine lisp and the LOOPS system for the Xerox Dolphin. OMEN was originally designed as a programming eny ironmcnt for an objectoriemed graphics system, but the system should be useful for many different applications. OMEN is not a programming language. It is a way of abstracting the data structures a program must use and the functions that operate on those data structures.



cowl '

AI Classics

Step 6 is a goal-assertion the input, another algorithm might result. Thus one could resolution that functions similarly to the goal-goal resolution break a into a[1],..., a [length(a)/2] and a [length(a)/ above. The final synthesized program is: 2 1],..., a[length(a)] and find an algorithm that recursively calls f on both the first and second halves of its f(x) if x NIL then 0 else car(x) f(cdr(x)).


Automatic Programming: A Tutorial on Formal Methodologies ALAN W. BIERMANN

AI Classics

Automatic computer programming or automatic programming occurs whenever a machine aids in this process. The amount of automatic programming that is occurring is a variable quantity that depends on how much aid the human is given. There are a number of dimensions on which the level of help can be measured including the level of the language used by the human, the amount of informality allowed, the degree to which the system is told what to do rather than how to do it, and the efficiency of the resulting code. Thus we usually say that there is a higher degree of automatic programming whenever a higher level language is used, less precision is required of the human, the input instructions are more declarative and less procedural, and the quality of the object code is better. The technologies of automatic programming thus include the fields that help move the programming experience along any of these dimensions: algorithm synthesis, programming language research, compiler theory, human factors, and others. This paper will concentrate on only the first of these topics, formal methodologies for the automatic construction of algorithms from fragmentary information. The formal methodologiest have been separated into two categories, synthesis from formal specifications and synthesis from examples. In the former case, it is assumed a specification is given for the target program with adequate domain information so that the target program can be derived in a series of logical steps.

  cdr, programming languages/compilers, totalenergies se, (33 more...)